
#include "LGlobalMgr.h"
#include "LogicService.h"

LGlobalMgr::LGlobalMgr()
{
	m_hasInit = false;
}

LGlobalMgr::~LGlobalMgr()
{

}

bool LGlobalMgr::Init()
{

	g_GetTimerAxis()->SetTimer(ETimer_GetGlobal, 2 * 1000, this);
	return true;
}

void LGlobalMgr::UnInit()
{

}

void LGlobalMgr::OnTimer(uint32_t nTimerID)
{
	switch (nTimerID)
	{
	case ETimer_GetGlobal:
		{
			if (g_GetLogicService()->IsConnectCenter())
			{
				LogicToCenterGetGlobalReq req;
				if (!g_GetLogicService()->SendDataToCenter(EMODULE_ID_SERV_SYS, LOGIC_TO_CENTER_GET_GLOBAL_DATA, &req))
				{
					LogErrFmtPrint("[logic] LGlobalMgr::OnTimer... SendDataToCenter falied...");
				}
				g_GetTimerAxis()->KillTimer(ETimer_GetGlobal,this);
			}
		}
		break;
	}
}

void LGlobalMgr::UpdateGlobalData(const GlobalDataProto &proto)
{
	if (!m_hasInit)
	{
		m_hasInit = true;
	}
	m_globalProto.CopyFrom(proto);
}

//获取全服数据
const GlobalDataProto &LGlobalMgr::GetGlobalData()
{
	return m_globalProto;
}